// node git-push.js
const { execSync } = require('child_process');
// import { execSync } from 'child_process';
const args = process.argv.slice(2);
console.log('args->', args)
if (args.length === 0 || args[0] === '') {
    console.error('错误：必须提供提交信息');
    process.exit(1);
}

const commitMessage = args.join(' ');

try {
    console.log('[-->>>] 当前状态:');
    execSync('git status', { stdio: 'inherit' });

    console.log('\n[-->>>] 添加所有变更...');
    execSync('git add -A', { stdio: 'inherit' });

    console.log('\n[-->>>] 提交变更...');
    execSync(`git commit -m "${commitMessage}"`, { stdio: 'inherit' });

    console.log('\n[-->>>] 拉取最新代码...');
    execSync('git pull', { stdio: 'inherit' });

    console.log('\n[-->>>] 推送代码到远程...');
    execSync('git push', { stdio: 'inherit' });

    console.log('\n[-->>>] 最终状态:');
    execSync('git status', { stdio: 'inherit' });
} catch (error) {
    console.error(`[-->>>] 执行失败: ${error.message}`);
    process.exit(1);
}